/*
 * XML Type:  StubNode
 * Namespace: http:///org/isistan/flabot/coremodel.ecore
 * Java type: org.isistan.flabot.coremodelEcore.StubNode
 *
 * Automatically generated - do not modify.
 */
package org.isistan.flabot.coremodelEcore.impl;
/**
 * An XML StubNode(@http:///org/isistan/flabot/coremodel.ecore).
 *
 * This is a complex type.
 */
public class StubNodeImpl extends org.isistan.flabot.coremodelEcore.impl.SimplePathNodeImpl implements org.isistan.flabot.coremodelEcore.StubNode
{
    private static final long serialVersionUID = 1L;
    
    public StubNodeImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName STARTPOINTREFERENCE$0 = 
        new javax.xml.namespace.QName("", "startPointReference");
    private static final javax.xml.namespace.QName ENDPOINTREFERENCE$2 = 
        new javax.xml.namespace.QName("", "endPointReference");
    private static final javax.xml.namespace.QName REFERENCEDMAP$4 = 
        new javax.xml.namespace.QName("", "referencedMap");
    private static final javax.xml.namespace.QName FAMILY$6 = 
        new javax.xml.namespace.QName("", "family");
    private static final javax.xml.namespace.QName STARTPOINTREFERENCE2$8 = 
        new javax.xml.namespace.QName("", "startPointReference");
    private static final javax.xml.namespace.QName ENDPOINTREFERENCE2$10 = 
        new javax.xml.namespace.QName("", "endPointReference");
    private static final javax.xml.namespace.QName REFERENCEDMAP2$12 = 
        new javax.xml.namespace.QName("", "referencedMap");
    private static final javax.xml.namespace.QName FAMILY2$14 = 
        new javax.xml.namespace.QName("", "family");
    
    
    /**
     * Gets array of all "startPointReference" elements
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode[] getStartPointReferenceArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(STARTPOINTREFERENCE2$8, targetList);
            org.isistan.flabot.coremodelEcore.SimplePathNode[] result = new org.isistan.flabot.coremodelEcore.SimplePathNode[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "startPointReference" element
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode getStartPointReferenceArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().find_element_user(STARTPOINTREFERENCE2$8, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "startPointReference" element
     */
    public int sizeOfStartPointReferenceArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(STARTPOINTREFERENCE2$8);
        }
    }
    
    /**
     * Sets array of all "startPointReference" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setStartPointReferenceArray(org.isistan.flabot.coremodelEcore.SimplePathNode[] startPointReferenceArray)
    {
        check_orphaned();
        arraySetterHelper(startPointReferenceArray, STARTPOINTREFERENCE2$8);
    }
    
    /**
     * Sets ith "startPointReference" element
     */
    public void setStartPointReferenceArray(int i, org.isistan.flabot.coremodelEcore.SimplePathNode startPointReference)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().find_element_user(STARTPOINTREFERENCE2$8, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(startPointReference);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "startPointReference" element
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode insertNewStartPointReference(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().insert_element_user(STARTPOINTREFERENCE2$8, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "startPointReference" element
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode addNewStartPointReference()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().add_element_user(STARTPOINTREFERENCE2$8);
            return target;
        }
    }
    
    /**
     * Removes the ith "startPointReference" element
     */
    public void removeStartPointReference(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(STARTPOINTREFERENCE2$8, i);
        }
    }
    
    /**
     * Gets array of all "endPointReference" elements
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode[] getEndPointReferenceArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(ENDPOINTREFERENCE2$10, targetList);
            org.isistan.flabot.coremodelEcore.SimplePathNode[] result = new org.isistan.flabot.coremodelEcore.SimplePathNode[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "endPointReference" element
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode getEndPointReferenceArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().find_element_user(ENDPOINTREFERENCE2$10, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "endPointReference" element
     */
    public int sizeOfEndPointReferenceArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(ENDPOINTREFERENCE2$10);
        }
    }
    
    /**
     * Sets array of all "endPointReference" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setEndPointReferenceArray(org.isistan.flabot.coremodelEcore.SimplePathNode[] endPointReferenceArray)
    {
        check_orphaned();
        arraySetterHelper(endPointReferenceArray, ENDPOINTREFERENCE2$10);
    }
    
    /**
     * Sets ith "endPointReference" element
     */
    public void setEndPointReferenceArray(int i, org.isistan.flabot.coremodelEcore.SimplePathNode endPointReference)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().find_element_user(ENDPOINTREFERENCE2$10, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(endPointReference);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "endPointReference" element
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode insertNewEndPointReference(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().insert_element_user(ENDPOINTREFERENCE2$10, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "endPointReference" element
     */
    public org.isistan.flabot.coremodelEcore.SimplePathNode addNewEndPointReference()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.SimplePathNode target = null;
            target = (org.isistan.flabot.coremodelEcore.SimplePathNode)get_store().add_element_user(ENDPOINTREFERENCE2$10);
            return target;
        }
    }
    
    /**
     * Removes the ith "endPointReference" element
     */
    public void removeEndPointReference(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(ENDPOINTREFERENCE2$10, i);
        }
    }
    
    /**
     * Gets array of all "referencedMap" elements
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap[] getReferencedMapArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(REFERENCEDMAP2$12, targetList);
            org.isistan.flabot.coremodelEcore.UseCaseMap[] result = new org.isistan.flabot.coremodelEcore.UseCaseMap[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "referencedMap" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap getReferencedMapArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(REFERENCEDMAP2$12, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "referencedMap" element
     */
    public int sizeOfReferencedMapArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(REFERENCEDMAP2$12);
        }
    }
    
    /**
     * Sets array of all "referencedMap" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setReferencedMapArray(org.isistan.flabot.coremodelEcore.UseCaseMap[] referencedMapArray)
    {
        check_orphaned();
        arraySetterHelper(referencedMapArray, REFERENCEDMAP2$12);
    }
    
    /**
     * Sets ith "referencedMap" element
     */
    public void setReferencedMapArray(int i, org.isistan.flabot.coremodelEcore.UseCaseMap referencedMap)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(REFERENCEDMAP2$12, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(referencedMap);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "referencedMap" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap insertNewReferencedMap(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().insert_element_user(REFERENCEDMAP2$12, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "referencedMap" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap addNewReferencedMap()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().add_element_user(REFERENCEDMAP2$12);
            return target;
        }
    }
    
    /**
     * Removes the ith "referencedMap" element
     */
    public void removeReferencedMap(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(REFERENCEDMAP2$12, i);
        }
    }
    
    /**
     * Gets array of all "family" elements
     */
    public org.isistan.flabot.coremodelEcore.Family[] getFamilyArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(FAMILY2$14, targetList);
            org.isistan.flabot.coremodelEcore.Family[] result = new org.isistan.flabot.coremodelEcore.Family[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "family" element
     */
    public org.isistan.flabot.coremodelEcore.Family getFamilyArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().find_element_user(FAMILY2$14, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "family" element
     */
    public int sizeOfFamilyArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(FAMILY2$14);
        }
    }
    
    /**
     * Sets array of all "family" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setFamilyArray(org.isistan.flabot.coremodelEcore.Family[] familyArray)
    {
        check_orphaned();
        arraySetterHelper(familyArray, FAMILY2$14);
    }
    
    /**
     * Sets ith "family" element
     */
    public void setFamilyArray(int i, org.isistan.flabot.coremodelEcore.Family family)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().find_element_user(FAMILY2$14, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(family);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "family" element
     */
    public org.isistan.flabot.coremodelEcore.Family insertNewFamily(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().insert_element_user(FAMILY2$14, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "family" element
     */
    public org.isistan.flabot.coremodelEcore.Family addNewFamily()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().add_element_user(FAMILY2$14);
            return target;
        }
    }
    
    /**
     * Removes the ith "family" element
     */
    public void removeFamily(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(FAMILY2$14, i);
        }
    }
    
    /**
     * Gets the "startPointReference" attribute
     */
    public java.lang.String getStartPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STARTPOINTREFERENCE2$8);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "startPointReference" attribute
     */
    public org.apache.xmlbeans.XmlString xgetStartPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(STARTPOINTREFERENCE2$8);
            return target;
        }
    }
    
    /**
     * True if has "startPointReference" attribute
     */
    public boolean isSetStartPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(STARTPOINTREFERENCE2$8) != null;
        }
    }
    
    /**
     * Sets the "startPointReference" attribute
     */
    public void setStartPointReference2(java.lang.String startPointReference2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(STARTPOINTREFERENCE2$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(STARTPOINTREFERENCE2$8);
            }
            target.setStringValue(startPointReference2);
        }
    }
    
    /**
     * Sets (as xml) the "startPointReference" attribute
     */
    public void xsetStartPointReference2(org.apache.xmlbeans.XmlString startPointReference2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(STARTPOINTREFERENCE2$8);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(STARTPOINTREFERENCE2$8);
            }
            target.set(startPointReference2);
        }
    }
    
    /**
     * Unsets the "startPointReference" attribute
     */
    public void unsetStartPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(STARTPOINTREFERENCE2$8);
        }
    }
    
    /**
     * Gets the "endPointReference" attribute
     */
    public java.lang.String getEndPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ENDPOINTREFERENCE2$10);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "endPointReference" attribute
     */
    public org.apache.xmlbeans.XmlString xgetEndPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ENDPOINTREFERENCE2$10);
            return target;
        }
    }
    
    /**
     * True if has "endPointReference" attribute
     */
    public boolean isSetEndPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(ENDPOINTREFERENCE2$10) != null;
        }
    }
    
    /**
     * Sets the "endPointReference" attribute
     */
    public void setEndPointReference2(java.lang.String endPointReference2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ENDPOINTREFERENCE2$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ENDPOINTREFERENCE2$10);
            }
            target.setStringValue(endPointReference2);
        }
    }
    
    /**
     * Sets (as xml) the "endPointReference" attribute
     */
    public void xsetEndPointReference2(org.apache.xmlbeans.XmlString endPointReference2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ENDPOINTREFERENCE2$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(ENDPOINTREFERENCE2$10);
            }
            target.set(endPointReference2);
        }
    }
    
    /**
     * Unsets the "endPointReference" attribute
     */
    public void unsetEndPointReference2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(ENDPOINTREFERENCE2$10);
        }
    }
    
    /**
     * Gets the "referencedMap" attribute
     */
    public java.lang.String getReferencedMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(REFERENCEDMAP2$12);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "referencedMap" attribute
     */
    public org.apache.xmlbeans.XmlString xgetReferencedMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(REFERENCEDMAP2$12);
            return target;
        }
    }
    
    /**
     * True if has "referencedMap" attribute
     */
    public boolean isSetReferencedMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(REFERENCEDMAP2$12) != null;
        }
    }
    
    /**
     * Sets the "referencedMap" attribute
     */
    public void setReferencedMap2(java.lang.String referencedMap2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(REFERENCEDMAP2$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(REFERENCEDMAP2$12);
            }
            target.setStringValue(referencedMap2);
        }
    }
    
    /**
     * Sets (as xml) the "referencedMap" attribute
     */
    public void xsetReferencedMap2(org.apache.xmlbeans.XmlString referencedMap2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(REFERENCEDMAP2$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(REFERENCEDMAP2$12);
            }
            target.set(referencedMap2);
        }
    }
    
    /**
     * Unsets the "referencedMap" attribute
     */
    public void unsetReferencedMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(REFERENCEDMAP2$12);
        }
    }
    
    /**
     * Gets the "family" attribute
     */
    public java.lang.String getFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FAMILY2$14);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "family" attribute
     */
    public org.apache.xmlbeans.XmlString xgetFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FAMILY2$14);
            return target;
        }
    }
    
    /**
     * True if has "family" attribute
     */
    public boolean isSetFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(FAMILY2$14) != null;
        }
    }
    
    /**
     * Sets the "family" attribute
     */
    public void setFamily2(java.lang.String family2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FAMILY2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(FAMILY2$14);
            }
            target.setStringValue(family2);
        }
    }
    
    /**
     * Sets (as xml) the "family" attribute
     */
    public void xsetFamily2(org.apache.xmlbeans.XmlString family2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FAMILY2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(FAMILY2$14);
            }
            target.set(family2);
        }
    }
    
    /**
     * Unsets the "family" attribute
     */
    public void unsetFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(FAMILY2$14);
        }
    }
}
